package io;

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

/**
 * 使用PrintWriter完成简易记事本工具
 * 需求:
 * 程序启动后,对note.txt文件进行编写操作
 * 将在控制台上输入的每一行字符串都按行写入到文件中,当单独输入exit时提出
 *
 * 要求:自行完成4层换行
 */
public class NoteDemo2 {
    public static void main(String[] args) throws FileNotFoundException {
        //低级输入流
        FileOutputStream fos=new FileOutputStream("note.txt");
        //转换流
        OutputStreamWriter osw=new OutputStreamWriter(fos, StandardCharsets.UTF_8);
        //缓冲流
        BufferedWriter bw=new BufferedWriter(osw);

        /*
            PrintWriter的构造器如果第一个参数是一个流,那么就支持再传入一个boolean值参数,
            表示自动行刷新是否开启.
            如果传入true则开启自动行刷新功能.
         */
        //高级流,字符流
        PrintWriter pw=new PrintWriter(bw,true);
        //扫描器
        Scanner sc=new Scanner(System.in);

        System.out.println("请开始输入内容,输入exit则提出");

        while (true){
            String print=sc.nextLine();
            if ("exit".equalsIgnoreCase(print)){//判断输入的内容是否是exit,如果是则结束循环(忽略大小写)
                break;
            }
            /*
                如果PrintWriter启动了自动行刷新功能,每当调用println方法写出一行字符串后
                就会自动flush一次.
             */
            pw.println(print);//把输入在控制台的内容转到note.txt文档中
        }
        System.out.println("886");
        pw.close();

    }
}
